package com.yowasa.xiuxian.engine.travel.adventure;

import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.yowasa.xiuxian.engine.travel.AdventureInterface;
import com.yowasa.xiuxian.entity.bo.user.UserBO;
import com.yowasa.xiuxian.entity.enums.MapEnum;
import com.yowasa.xiuxian.entity.enums.RefreshType;
import com.yowasa.xiuxian.service.helper.ItemHelper;
import com.yowasa.xiuxian.service.helper.ResourceHelper;
import com.yowasa.xiuxian.util.RandomUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Set;

/**
 * 金陵大厨 一次刷新仅能被触发一次
 * 上架一个鲜香锅巴
 */
@Component
public class QiBuDuADV implements AdventureInterface {


    @Autowired
    private ResourceHelper resourceHelper;
    @Autowired
    private ItemHelper itemHelper;

    @Override
    public Set<MapEnum> limitMaps() {
        //望舒
        return Sets.newHashSet(MapEnum.WANG_SHU_KE_ZHAN);
    }

    public boolean limitCheck(UserBO user) {
        return resourceHelper.checkHaveResource(user.getGuildId(), this.getClass().getName(), RefreshType.LOCK_TIME);
    }
//    一日你在望舒客栈附近清理魔物，清理完毕的时候发现，有一道隐秘目光看向自己，你回头看竟然是那位在望舒客栈里的上仙，看向你的目光中隐隐有些许期许，他将秘籍递给你，留下一句愿你对得起我对你的期望便消失了
    @Override
    public String exec(UserBO user) {
        resourceHelper.lockResource(user.getGuildId(), this.getClass().getName(), 10 * 360);
        itemHelper.addItem(user, "七步毒秘籍", 1);
        String msg2 = "一日你在望舒客栈附近清理魔物，清理完毕的时候发现，有一道隐秘目光看向自己，你回头看竟然是那位在望舒客栈里的上仙，看向你的目光中隐隐有些许期许，他将秘籍递给你，留下一句愿你对得起我对你的期望便消失了\n";
        String msg = "你在望舒客栈四周清除魔物，偶尔也会遇到一位少年，但是每次见到他几乎都是一阵影子。\n游历多日，那位少年似乎也认识了你，一日晚上，你在望舒客栈的楼顶，他将一本书交予你，说：“学习这种东西对付魔物很管用。”\n";
        String msg3 = "获得了战技[七步毒]的秘籍";
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(RandomUtil.choice(Lists.newArrayList(msg, msg2))).append(msg3);
        return stringBuffer.toString();
    }

}
